/*
**Copyright (C) 2022, HITCRT_VISION, all rights reserved.
*/
#include "KalmanFactory.h"
namespace hitcrt {

std::shared_ptr<hitcrt::KFC> KalmanFactory::createKFCV() {
    std::shared_ptr<hitcrt::KFC> kfcvPtr;
    kfcvPtr = std::make_shared<KFC>(1, 2);
    return kfcvPtr;
}

std::shared_ptr<hitcrt::KFC> KalmanFactory::createKFCA() {
    std::shared_ptr<hitcrt::KFC> kfcaPtr;
    kfcaPtr = std::make_shared<KFC>(1, 3);
    return kfcaPtr;
}

std::shared_ptr<hitcrt::KFS> KalmanFactory::createKFS() {
    std::shared_ptr<hitcrt::KFS> kfsPtr;
    kfsPtr = std::make_shared<KFS>(1, 3);
    return kfsPtr;
}

std::shared_ptr<hitcrt::EKF> KalmanFactory::createEKF() {
    std::shared_ptr<hitcrt::EKF> ekfPtr;
    ekfPtr = std::make_shared<EKF>(2, 6);
    return ekfPtr;
}
}  // namespace hitcrt